package cn.kent.kuang;

import java.util.ArrayList;
import java.util.List;

/**
 * OOM
 * # 打印GC详情
 * -Xms1m -Xmx8m -XX:+PrintGCDetails
 * # 当出现OOM异常，dump出来文件方便分析
 * -Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError
 */
public class OOMTest {
    static byte[] bytes = new byte[1 * 1024 * 1024]; // 1m

    public static void main(String[] args) {
        List<OOMTest> list = new ArrayList<>();
        int count = 0;

        try {
            // 抛出OOM异常，属于error级别
            while (true) {
                list.add(new OOMTest());
                ++count;
            }
        } catch (OutOfMemoryError e) {
            System.out.println("count:"+count);
            e.printStackTrace();
        }
    }
}
